home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls035c.1 / lib / vtcl / tests / checkbox.tcl / checkbox.tcl
Encoding:
Text File  |  1995-03-23  |  1.7 KB  |  77 lines

  1.  
  2. #
  3. # a minimal test of the checkbox widget
  4. #
  5.  
  6. source tools.tcl
  7.  
  8. proc quitCB {form cbs} {
  9.     VtClose
  10. }
  11.  
  12. proc toggleChangedCB {cbs} {
  13.     global label label2 label3 rc1 rc2
  14.  
  15.     set short [CBSGetWidgetShortName $cbs]
  16.     set val [keylget cbs set]
  17.     VtSetValues $label -label "Widget: $short  Value: $val"
  18.     set cb1 [VtGetValues $rc1 -valueList]
  19.     VtSetValues $label2 -label "Checkbox1: $cb1"
  20.     set cb2 [VtGetValues $rc2 -valueList]
  21.     VtSetValues $label3 -label "Checkbox2: $cb2"
  22. }
  23.  
  24. proc nextToggle {name label last} {
  25.     if {$last == ""} {
  26.     set tog [VtToggleButton $name -label $label -value 1 \
  27.         -callback toggleChangedCB \
  28.              -xmArgs "XmNbackground red"]
  29.     } else {
  30.        set tog [VtToggleButton $name -label $label \
  31.         -callback toggleChangedCB \
  32.              -xmArgs "XmNbackground red"]
  33.     }
  34.  
  35.     return $tog
  36. }
  37.  
  38. set app [VtOpen "testcheckbox"]
  39.  
  40. set fn [VtStartForm $app.form -title "Test CheckBox" \
  41.        -xmArgs "XmNmarginWidth 10
  42.                 XmNmarginHeight 10
  43.             XmNbackground green"]
  44.  
  45. set rc1 [VtCheckBox $fn.rc1 -borderWidth 2]
  46.  
  47. set tog ""
  48. foreach i {1 2 3} {
  49.     set tog [nextToggle $rc1.tog$i "Toggle $i" $tog]
  50. }
  51.  
  52. set rc2 [VtCheckBox $fn.rc2 -below $fn.rc1 \
  53.     -borderWidth 2]
  54.  
  55. foreach i {4 5 6} {
  56.     set tog [nextToggle $rc2.tog$i "Toggle $i" $tog]
  57. }
  58.  
  59. set label [VtLabel $fn.label -label "No Callback Yet" -below $rc2]
  60. set label2 [VtLabel $fn.label2 -label "No Callback Yet" -below $label]
  61. set label3 [VtLabel $fn.label3 -label "No Callback Yet" -below $label2]
  62.  
  63. VtPushButton $fn.quit -callback "quitCB $fn" \
  64.     -below $label3 \
  65.     -leftSide FORM\
  66.     -rightSide FORM\
  67.     -topOffset 10\
  68.     -leftOffset 5 \
  69.     -rightOffset 5\
  70.     -CHARM_topOffset 1\
  71.     -CHARM_leftOffset 2\
  72.     -CHARM_rightOffset 2
  73.  
  74. VtManage $fn
  75. VtMainLoop
  76.  
  77.